
#define GPMCON (*(volatile unsigned long *)0x7f008820)
#define GPMDAT (*(volatile unsigned long *)0x7f008824)

#define GPNCON 	(*(volatile unsigned long *)0x7F008830) 
#define GPNDAT 	(*(volatile unsigned long *)0x7F008834)

#define GPOCON    (*(volatile unsigned long *)0x7F008140)
#define GPODAT    (*(volatile unsigned long *)0x7F008144)
#define GPPCON    (*(volatile unsigned long *)0x7F008160)
#define GPPDAT    (*(volatile unsigned long *)0x7F008164)

#define VIC0IRQSTATUS 	(*(volatile unsigned long *)0x71200000)
#define VIC1IRQSTATUS 	(*(volatile unsigned long *)0x71300000)
#define VIC0FIQSTATUS 	(*(volatile unsigned long *)0x71200004)
#define VIC1FIQSTATUS 	(*(volatile unsigned long *)0x71300004)
#define VIC0RAWINTR 	(*(volatile unsigned long *)0x71200008)
#define VIC1RAWINTR 	(*(volatile unsigned long *)0x71300008)
#define VIC0INTSELECT 	(*(volatile unsigned long *)0x7120000C)
#define VIC1INTSELECT 	(*(volatile unsigned long *)0x7130000C)
#define VIC0INTENABLE 	(*(volatile unsigned long *)0x71200010)
#define VIC1INTENABLE 	(*(volatile unsigned long *)0x71300010)
#define VIC0INTENCLEAR 	(*(volatile unsigned long *)0x71200014)
#define VIC1INTENCLEAR 	(*(volatile unsigned long *)0x71300014)
#define VIC0SOFTINT 	(*(volatile unsigned long *)0x71200018)
#define VIC1SOFTINT 	(*(volatile unsigned long *)0x71300018)
#define VIC0SOFTINTCLEAR (*(volatile unsigned long *)0x7120001C)
#define VIC1SOFTINTCLEAR (*(volatile unsigned long *)0x7130001C)

#define WTCON    (*(volatile unsigned long *)0x7E004000)
#define WTDAT    (*(volatile unsigned long *)0x7E004004) 
#define WTCNT    (*(volatile unsigned long *)0x7E004008) 
#define WTCLRINT (*(volatile unsigned long *)0x7E00400C)

#define EINT0CON0    (*(volatile unsigned long *)0x7F008900)
#define EINT0CON1    (*(volatile unsigned long *)0x7F008904)
#define EINT0MASK    (*(volatile unsigned long *)0x7F008920)
#define EINT0PEND    (*(volatile unsigned long *)0x7F008924)

#define APLL_LOCK     (*(volatile unsigned long *)0x7E00F000) 
#define MPLL_LOCK     (*(volatile unsigned long *)0x7E00F004) 
#define EPLL_LOCK     (*(volatile unsigned long *)0x7E00F008) 
#define APLL_CON      (*(volatile unsigned long *)0x7E00F00C) 
#define MPLL_CON      (*(volatile unsigned long *)0x7E00F010) 
#define EPLL_CON0     (*(volatile unsigned long *)0x7E00F014) 
#define EPLL_CON1     (*(volatile unsigned long *)0x7E00F018) 
#define CLK_SRC       (*(volatile unsigned long *)0x7E00F01C) 
#define CLK_DIV0      (*(volatile unsigned long *)0x7E00F020) 
#define CLK_DIV1      (*(volatile unsigned long *)0x7E00F024) 
#define CLK_DIV2      (*(volatile unsigned long *)0x7E00F028) 
#define CLK_OUT       (*(volatile unsigned long *)0x7E00F02C) 
#define HCLK_GATE     (*(volatile unsigned long *)0x7E00F030) 
#define PCLK_GATE     (*(volatile unsigned long *)0x7E00F034) 
#define SCLK_GATE     (*(volatile unsigned long *)0x7E00F038) 
#define MEM0_CLK_GATE (*(volatile unsigned long *)0x7E00F03C)
#define AHB_CON0      (*(volatile unsigned long *)0x7E00F100) 
#define AHB_CON1      (*(volatile unsigned long *)0x7E00F104) 
#define AHB_CON2      (*(volatile unsigned long *)0x7E00F108) 
#define CLK_SRC2      (*(volatile unsigned long *)0x7E00F10C) 
#define SDMA_SEL      (*(volatile unsigned long *)0x7E00F110) 
#define SYS_ID        (*(volatile unsigned long *)0x7E00F118) 
#define SYS_OTHERS    (*(volatile unsigned long *)0x7E00F11C) 
#define MEM_SYS_CFG   (*(volatile unsigned long *)0x7E00F120) 
#define QOS_OVERRIDE1 (*(volatile unsigned long *)0x7E00F128) 
#define MEM_CFG_STAT  (*(volatile unsigned long *)0x7E00F12C)
#define PWR_CFG       (*(volatile unsigned long *)0x7E00F804) 
#define EINT_MASK     (*(volatile unsigned long *)0x7E00F808) 
#define NORMAL_CFG    (*(volatile unsigned long *)0x7E00F810) 
#define STOP_CFG      (*(volatile unsigned long *)0x7E00F814) 
#define SLEEP_CFG     (*(volatile unsigned long *)0x7E00F818) 
#define STOP_MEM_CFG  (*(volatile unsigned long *)0x7E00F81C) 
#define OSC_FREQ      (*(volatile unsigned long *)0x7E00F820) 
#define OSC_STABLE    (*(volatile unsigned long *)0x7E00F824) 
#define PWR_STABLE    (*(volatile unsigned long *)0x7E00F828) 
#define MTC_STABLE    (*(volatile unsigned long *)0x7E00F830) 
#define MISC_CON      (*(volatile unsigned long *)0x7E00F838)
#define OTHERS        (*(volatile unsigned long *)0x7E00F900) 
#define RST_STAT      (*(volatile unsigned long *)0x7E00F904) 
#define WAKEUP_STAT   (*(volatile unsigned long *)0x7E00F908) 
#define BLK_PWR_STAT  (*(volatile unsigned long *)0x7E00F90C) 
#define INFORM0       (*(volatile unsigned long *)0x7E00FA00) 
#define INFORM1       (*(volatile unsigned long *)0x7E00FA04) 
#define INFORM2       (*(volatile unsigned long *)0x7E00FA08) 
#define INFORM3       (*(volatile unsigned long *)0x7E00FA0C)

#define  ULCON1   (*(volatile unsigned long *)0x7F005400) 
#define   UCON1   (*(volatile unsigned long *)0x7F005404) 
#define  UFCON1   (*(volatile unsigned long *)0x7F005408) 
#define  UMCON1   (*(volatile unsigned long *)0x7F00540C) 
#define UTRSTAT1  (*(volatile unsigned long *)0x7F005410) 
#define UERSTAT1  (*(volatile unsigned long *)0x7F005414) 
#define  UFSTAT1  (*(volatile unsigned long *)0x7F005418) 
#define  UMSTAT1  (*(volatile unsigned long *)0x7F00541C) 
#define   UTXH1   (*(volatile unsigned long *)0x7F005420) 
#define   URXH1   (*(volatile unsigned long *)0x7F005424) 
#define  UBRDIV1  (*(volatile unsigned long *)0x7F005428) 
#define UDIVSLOT1 (*(volatile unsigned long *)0x7F00542C) 
#define   UINTP1  (*(volatile unsigned long *)0x7F005430) 
#define  UINTSP1  (*(volatile unsigned long *)0x7F005434) 
#define   UINTM1  (*(volatile unsigned long *)0x7F005438)


#define ADCCON          (*(volatile unsigned long *)0x7E00B000)
#define ADCTSC          (*(volatile unsigned long *)0x7E00B004)
#define ADCDLY          (*(volatile unsigned long *)0x7E00B008)
#define ADCDAT0         (*(volatile unsigned long *)0x7E00B00C)
#define ADCDAT1         (*(volatile unsigned long *)0x7E00B010)
#define DCCLRINT 	(*(volatile unsigned long *)0x7E00B018)
#define ADCUPDN         (*(volatile unsigned long *)0x7E00B014)
#define ADCCLRINTPNDNUP (*(volatile unsigned long *)0x7E00B020)

#define NFCONF   (*(volatile unsigned long *)0x70200000)
#define NFCONT   (*(volatile unsigned long *)0x70200004)
#define NFCMMD   (*(volatile unsigned long *)0x70200008)
#define NFADDR   (*(volatile unsigned long *)0x7020000C)
#define NFDATA   (*(volatile unsigned long *)0x70200010)
#define NFMECCD0 (*(volatile unsigned long *)0x70200014)
#define NFSBLK 	 (*(volatile unsigned long *)0x70200020)
#define NFEBLK 	 (*(volatile unsigned long *)0x70200024)
#define NFSTAT 	 (*(volatile unsigned long *)0x70200028)

#define P1MEMSTAT 	(*(volatile unsigned long *)0x7E001000)
#define P1MEMCCMD 	(*(volatile unsigned long *)0x7E001004)
#define P1DIRECTCMD 	(*(volatile unsigned long *)0x7E001008)
#define P1MEMCFG 	(*(volatile unsigned long *)0x7E00100C)
#define P1REFRESH 	(*(volatile unsigned long *)0x7E001010)
#define P1CASLAT 	(*(volatile unsigned long *)0x7E001014)
#define P1T_DQSS 	(*(volatile unsigned long *)0x7E001018)
#define P1T_MRD 	(*(volatile unsigned long *)0x7E00101C)
#define P1T_RAS 	(*(volatile unsigned long *)0x7E001020)
#define P1T_RC 		(*(volatile unsigned long *)0x7E001024)
#define P1T_RCD 	(*(volatile unsigned long *)0x7E001028)
#define P1T_RFC 	(*(volatile unsigned long *)0x7E00102C)
#define P1T_RP 		(*(volatile unsigned long *)0x7E001030)
#define P1T_RRD 	(*(volatile unsigned long *)0x7E001034)
#define P1T_WR 		(*(volatile unsigned long *)0x7E001038)
#define P1T_WTR 	(*(volatile unsigned long *)0x7E00103C)
#define P1T_XP 		(*(volatile unsigned long *)0x7E001040)
#define P1T_XSR 	(*(volatile unsigned long *)0x7E001044)
#define P1T_ESR 	(*(volatile unsigned long *)0x7E001048)
#define P1MEMCFG2 	(*(volatile unsigned long *)0x7E00104C)
#define P1MEMCFG3 	(*(volatile unsigned long *)0x7E001050)
#define P1_chip_0_cfg 	(*(volatile unsigned long *)0x7E001200)
#define P1_chip_1_cfg 	(*(volatile unsigned long *)0x7E001204)
#define P1_user_stat 	(*(volatile unsigned long *)0x7E001300)
#define P1_user_cfg 	(*(volatile unsigned long *)0x7E001304)





























